/****************************************************************************/
/* NAME:           command.h                                                */
/* PURPOSE:        Leds pwm management                                      */
/* CREATED_BY:     Didsau                                                   */
/* CREATION_DATE:  02/07/2013                                               */
/* MODIFIED_BY:    Vyx                                                      */
/************************************** (C) Copyright 2013 AquaLink *********/

#include "main.h"
#include "FreeRTOS_CLI.h"

/**
 * @brief  Commands task manager
 */
void vTaskCTRL_COMMANDS();

/**
 * @brief  Register all commands, call one time at start
 */
void RegisterCommands(void);

/**
 * @brief  Manage echo
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_Echo_Command(int8_t *pcWriteBuffer,
                                   size_t xWriteBufferLen,
                                   const int8_t *pcCommandString);

/**
 * @brief  Return de water temp
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_GetWaterTemp_Command(int8_t *pcWriteBuffer,
                                           size_t xWriteBufferLen,
                                           const int8_t *pcCommandString );

/**
 * @brief  water set point management
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_WaterSetpoint_Command(int8_t *pcWriteBuffer,
                                            size_t xWriteBufferLen,
                                            const int8_t *pcCommandString);

/**
 * @brief  Set osmolator mode
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_OsmolatorMode_Command(int8_t *pcWriteBuffer,
                                            size_t xWriteBufferLen,
                                            const int8_t *pcCommandString);

/**
 * @brief  Return water level
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_GetWaterLevel_Command(int8_t *pcWriteBuffer,
                                            size_t xWriteBufferLen,
                                            const int8_t *pcCommandString);

/**
 * @brief  Set oscillator
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_SetOscillator_Command(int8_t *pcWriteBuffer,
                                            size_t xWriteBufferLen,
                                            const int8_t *pcCommandString);

/**
 * @brief  Get oscillator
 * @param  None
 * @retval None
 */
portBASE_TYPE prvTask_GetOscillator_Command(int8_t *pcWriteBuffer,
                                            size_t xWriteBufferLen,
                                            const int8_t *pcCommandString);
